/**********************************************************************************************************************
 *
 * Project:    mGameEngine
 * File:       blur.h
 * Author:     twoja stara
 * Created on: 2010-05-30
 *
 **********************************************************************************************************************/

#ifndef BLUR_H_
#define BLUR_H_

#include "directionalblur.h"
#include "rendertexture.h"

namespace mGameEngine
{
namespace Graphics
{

class Blur : public PostProcess
{
protected:
    DirectionalBlur _xblur, _yblur;
    mutable RenderTexture _rtt;

public:
    Blur(float size = 10.0f,
        const Texture *input = NULL, RenderTarget *output = NULL);
    virtual ~Blur(void);

    float getSize() const
    {
        return _xblur.getSize();
    }

    void setSize(float size)
    {
        _xblur.setSize(size);
        _yblur.setSize(size);
    }

    virtual void process() const;
};

}
}

#endif // BLUR_H_